<?php

/* je commit !!! */
/* Attention à Obi ! */

class PdoCategorie extends PdoConnect {

    public function create(categorie $categorie) {
        try {
            $this->open();
            $sql = "INSERT INTO `categorie`(NOMCATEGORIE) VALUES(?)";

            $prep = $this->pdo->prepare($sql);

            $prep->bindValue(1, $categorie->getNOMCATEGORIE(), PDO::PARAM_STR);


            $prep->execute();
            $this->close();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function readAll() {
        try {
            $this->open();
            $sql = "SELECT * From `categorie`";
            $prep = $this->pdo->prepare($sql);

            $prep->execute();
            $prep->setFetchMode(PDO::FETCH_ASSOC);


            return $prep;
            $this->close();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function readOne($IdCategorie) {
        try {
            $this->open();
            $sql = "SELECT * FROM categorie WHERE IDCATEGORIE=$IdCategorie";
            $prep = $this->pdo->prepare($sql);

            $prep->execute();

            $categorie = new Categorie();
            $ligne = $prep->fetch(PDO::FETCH_OBJ);
            $categorie->setIdCategorie($ligne->IDCATEGORIE);
            $categorie->setNomCategorie($ligne->NOMCATEGORIE);

            return $categorie;
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function delete($IdCategorie) {

        try {
            $this->open();
            $sql = "DELETE FROM categorie WHERE IDCATEGORIE=?";

            $prep = $this->pdo->prepare($sql);

            $prep->bindValue(1, $IdCategorie, PDO::PARAM_INT);
            $prep->execute();
            $this->close();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function update(categorie $categorie) {
        try {

            $this->open();
            $sql = "UPDATE categorie SET NOMCATEGORIE= ? WHERE IDCATEGORIE=?";

            $prep = $this->pdo->prepare($sql);


            $prep->bindValue(1, $categorie->getNomCategorie(), PDO::PARAM_STR);
            $prep->bindValue(2, $categorie->getIdCategorie(), PDO::PARAM_INT);

            $prep->execute();
            $this->close();
        } catch (PDOException $e) {
            $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
            die($msg);
        }
    }

    public function exist($NOMCATEGORIE) {
        $this->open();
        $query = "SELECT * FROM categorie WHERE TITRENEWS='$NOMCATEGORIE';";
        $statement = $this->pdo->query($query);
        return $statement->rowCount();
        $this->close();
    }

}
